package com.spark.concurrency.thread.method;

/**
 * yield 方法是让同优先级的线程有执行的机会，
 * 但不能保证自己会从正在运行的状态迅速转换到可运行的状态。
 */
public class YieldTest {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            int finalI = i;
            //这样写，应该是一个继承的关系？，
            new Thread() {
                @Override
                public void run() {
                    if (finalI == 5) {
                        Thread.yield();
                    }
                    System.out.println(finalI);
                }
            }.start();
        }
    }
}

/*运动结果
        0
        1
        2
        4
        6
        7
        9
        3
        8
        5
*/
